import {adminLoginAPI} from "@/api/admin";

import {UPDATE_AUTHORITY_INFO,AUTHORITY_INIT_VALUE} from "./types";
 
export default {
    // loginAndUpdateAuthorityInfo({commit},payload){
    //     // commit => 触发mutations中对应名称的方法
    //     // payload  => 携带数据(登录相关 {adminname,passwowd})

    //     return adminLoginAPI(payload).then(res=>{
    //         var data = res.data; 
    //         commit("updateAuthorityInfo",data);
    //         return data
    //     })
    // },

    getAuthorityInfo:function({commit}){ // action方法 => 根据返回值生成一个Promise实例(默认fulfulled)
        var str = localStorage.getItem("AuthorityInfo");
        if(str){
            var data = JSON.parse(str);
            commit(UPDATE_AUTHORITY_INFO,data);
            return data;
        }else {
            return "";
        }
    },
    loginAndUpdateAuthorityInfo({commit},payload){
        // commit => 触发mutations中对应名称的方法
        // payload  => 携带数据(登录相关 {adminname,passwowd})

        return adminLoginAPI(payload).then(res=>{
            var data = res.data; 
            commit(UPDATE_AUTHORITY_INFO,data);
            
            // 登录成功之后 将数据存储到 localStorage
            localStorage.setItem("AuthorityInfo",JSON.stringify(data));
            
            return data
        })
    },
    exitAndUpdateAuthorityInfo({commit}){
        // 删除本地数据
        localStorage.removeItem("AuthorityInfo");
        
        // 重置vuex中 登录相关的数据
        commit(UPDATE_AUTHORITY_INFO,AUTHORITY_INIT_VALUE);
    }
}